from langchain_core.messages import HumanMessage
from langchain_core.prompts import PromptTemplate, FewShotPromptTemplate, ChatPromptTemplate, MessagesPlaceholder

from langchain_demo.my_llm import llm

# {topic}：变量占位符
# prompt_template = ChatPromptTemplate.from_messages([
#     ('system', '你是一个幽默的电视台主持人'),
#     ('user', '帮我生成一个简短的，关于{topic}的报幕词'),
# ])

# 消息占位符
prompt_template = ChatPromptTemplate.from_messages(
    [('system', '你是一个幽默的电视台主持人'),MessagesPlaceholder('input')]
)

chain = prompt_template | llm
# resp = chain.invoke({"input": "巴伦·特朗普的父亲是谁？"})
# resp = chain.invoke({"topic": "相声"})
resp = chain.invoke({"input": [HumanMessage(content="你好，主持人")]})
print(resp)